KABA - a system for refactoring Java programs

نویسنده

  • Mirko Streckenbach
چکیده

Refactoring is a well known technique to enhance various aspects of an object-oriented program. It has become very popular during recent years, as it allows to overcome deficits present in many programs. Doing refactoring by hand is almost impossible due to the size and complexity of modern software systems. Automated tools provide support for the application of refactorings, but do not give hints, which refactorings to apply and why. The Snelting/Tip analysis is a program analysis, which creates a refactoring proposal for a class hierarchy by analyzing how class members are used inside a program. KABA is an adaption and extension of the Snelting/Tip analysis for Java. It has been implemented and expanded to become a semantic preserving, interactive refactoring system. Case studies of real world programs will show the usefulness of the system and its practical value.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

KABA Ein System zur Refaktorisierung von Java-Programmen

Refactoring ist eine bekannte Technik, um verschiedene Aspekte eines objekt-orientierten Programms zu verbessern. Sie ist in den letzten Jahren sehr populär geworden, da sie es erlaubt, Defizite zu beseitigen, die sich in sehr vielen Programmen finden. Die Größe moderner Software-Systeme macht es unmöglich, Refactoring von Hand durchzuführen. Zwar existieren Werkzeuge, die es ermöglichen Refact...

متن کامل

Constrained Java and its Application for Refactoring large Java programs

Constrained Java is a subset of Java which does not allow public classes to be used as static types in any piece of code that belongs to a set of packages, defined as the Constrained Java Package Space. Instead of classes, only interfaces are are used. The enforcement of this rule leads to a very clear distinction between the type hierarchie and the implementation hierarchy. We present methods ...

متن کامل

Understanding class hierarchies with KABA

KABA is a prototype implementation of the Snelting/Tip analysis [2, 3] for JAVA. KABA combines data ow analysis, type inference and concept lattices in order to perform a negrained analysis of member-access patterns in a class hierarchy together with a given set of applications. KABA computes a transformed hierarchy which is guaranteed to be 1. operationally equivalent, 2. maximally factorized,...

متن کامل

Composite Refactorings for Java Programs

There has been much interest in refactoring recently, but little work has been done on tool support for refactoring or on demonstrating that a refactoring does indeed preserve program behaviour. We propose a method for developing composite refactorings for Java programs in such a way that a rigorous demonstration of behaviour preservation is possible.

متن کامل

Enhanced semi-Automated Refactoring Engine with Behavioral testing

Refactoring is a transformation that preserves the external behavior of a program and improves its internal quality. Usually, compilation errors and behavioral changes are avoided by preconditions determined for each refactoring transformation. However, to formally define these preconditions and transfer them to program checks is a rather complex task. In practice, refactoring engine developers...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005